For example, when a brushless DC motor is applied to an electric motor driving a compressor or the like, a rotational speed or position of the motor has conventionally been obtained by the use of a position sensor or the like. When the obtained rotational speed differs from a target rotational speed, a current command or a voltage command is changed so that the rotational speed of the motor is adjusted to the target rotational speed. FIG. 11A shows a sectional structure of single-cylinder type rotary compressor. In the shown compressor, load fluctuations occur according to a mechanical rotation angle of compressor motor (see FIG. 11B). The load fluctuations lead to fluctuations in the rotational speed thereby to cause fluctuations in the rotational speed for one turn of the motor by a mechanical angle. This results in production of noise and vibration.
Furthermore, when the operation of the compressor continues while a rotational speed of the motor is fluctuating, stress is applied to a piping system through which a refrigerant or the like is transferred in air conditioners, refrigerators or the like, thereby reducing the service life of the piping system. Accordingly, torque control needs to be executed when the rotational speed of the motor is controlled, whereby rotational speed fluctuations accompanying the load fluctuations need to be suppressed.
In one conventional technique, a section in which a rotor of the motor is rotated one turn is divided into a plurality of subsections, which are set so as to cancel fluctuations in the load torque. Data of patterns of torque fluctuations (torque data) given to each subsection is stored. When the rotational speed of the motor is controlled via an inverter, a control circuit supplies a current or voltage command taking account of torque fluctuations.
However, the data of load torque fluctuations needs to be obtained in the above-described control system. Furthermore, a current command value or the like needs to be adjusted so that motor speed fluctuations are mostly reduced based on the measured data. As a result, data needs to be obtained and command values need to be adjusted according to various operation patterns such as warming operation and cooling operation in the case of air conditioners, with the result that a time period for developing the product is increased.
Another conventional motor control technique detects a magnitude of speed fluctuation during operation of an electric motor and executes a feedback control so that the speed fluctuation is suppressed, whereupon a torque command value is determined. In this technique, however, accuracies in estimating a motor position and a motor speed are reduced when the position-sensorless system is assumed to be employed for the estimation of motor position. As a result, an accurate torque control cannot be carried out. Furthermore, use of past information in the feedback control delays the response to the control. In this case, there is a possibility that torque fluctuations cannot be suppressed sufficiently when occurring in a very short period.